#pragma once
#ifndef CMDTASK_H_
#define CMDTASK_H_
// #include "dirStack.h"
#include "taskQueue.h"

typedef struct _dirStack_s{
    // TODO
}_dirStack_t;

typedef enum {
    CMD_TYPE_INIT = -1,
	CMD_TYPE_CD = 1,
	CMD_TYPE_LS,
	CMD_TYPE_PWD,
	CMD_TYPE_MKDIR,
	CMD_TYPE_RMDIR,
	CMD_TYPE_REMOVE,
	CMD_TYPE_PUTS,
	CMD_TYPE_GETS,
	CMD_TYPE_LOGIN
} CmdType;

// typedef struct user_s{
//     _dirStack_t _dirStack;
//     int _clientFd;// 绑定客户端端口和当前线程的端口
// }user_t;

// void user_init(user_t* usr);

void doTask(task_t * ptask, _dirStack_t* dirStack);

//任务接口
void cmdCd(task_t * ptask, _dirStack_t* dirStack);
void cmdLs(task_t * ptask, _dirStack_t* dirStack);
void cmdPwd(task_t * ptask, _dirStack_t* dirStack);

void cmdMkdir(task_t * ptask, _dirStack_t* dirStack);
void cmdRmdir(task_t * ptask, _dirStack_t* dirStack);

void cmdPuts(task_t * ptask, _dirStack_t* dirStack);
void cmdGets(task_t * ptask, _dirStack_t* dirStack);
void cmdRm(task_t * ptask, _dirStack_t* dirStack);

#endif

